/**
 * 用户参与答卷
 */

$("#left-in").click(function() {
	$("#left").hide(200);
	$(this).hide();
	$("#left-out").show();
	// $("#center").css("margin","0 181px 0 10px");
});
$("#left-out").click(function() {
	$("#left").show(200);
	$(this).hide();
	$("#left-in").show();
	// $("#center").css("margin","0 181px 0");
});

var exam;
var examId = 0;
var cellNo = 0;
var currentPage = 0;
var pptContaint;// 缓存内容
var downloadppt = 0;// 已下载的PPT张数

// 是否开始答题
var isStart = false;

// 页面跳转
var active = false;// 开关
var repeatFinish = false;// 标记循环是否完成
var repeatFrom;
var repeatTo;
var playMode;
var repeatTime;
var doneTime = 0;// 已完成的循环次数
var pptpageA = new Array();// 存放着要播放的currentPage

// settimeout 事件
var showtimeTicket;

// 鼠标
var isMouseClick = false;
var record;// 记录鼠标信息 或者 按键信息
var mouseActionTicket;
var mouse_x;// 当前鼠标坐标
var mouse_y;
var mouse_st;// 上一次采集的时间
var mouse_et;
var key_st;// 上一次按键的时间
var key_et;

// 中间PPT c-content的左上角 和 右下角坐标
var ppt_leftup_x;
var ppt_leftup_y;
var ppt_rightdown_x;
var ppt_rightdown_y;

// 从页面上得到原制作者当时PPT窗口的坐标
var orig_ppt_left;
var orig_ppt_top;

// 本页正确答案的操作
var has_answer = "no";
var right_condition;//在has-answer为yes的条件下激活，正确的条件：key 手动输入，left-mouse左击，right-mouse右击
var key_answer;//在需要手动输入的前提下，记录输入的字符，默认为undefined
var when_condition = "none";
var wrong_jump_to;
var right_jump_to;
var showinput = "no";
var reaction_time = "none";// none不用记录 1st本张PPT用户的第一反应,all本张ppt用户的所有反应

// 页面的元素是否加载完毕
var isloadcomplete = false;
var timestart;// 每张PPT加载完成后的那个时间点
var timeend;// 用户第一次输入的时间
var thispptend;// 记录单张PPT结束时间
var DOMnumber = 0;// 总数 图片
var DOMComplete = 0;// 加载完的个数 图片

// 记录该张PPT用户回答是否正确-> 1正确 | 0错误| -1本张没有标准答案
// 如果在用户指定的时间未完成,默认为0(没有答案则为-1)
var answerRight;
var mouseAction;
var inputAction;// 用户键盘输入记录"d-f-s","d-r-d"
// var pptRTType;//"相应的字母" 1左键 2 右键
var pptRT;// 反应时间:ms array "13-23-4324-343","23-43-24",1st就只有一个数,
// 0的话表示刚页不用记录用户的反应时间

// 获取当前的ID
$(document).ready(function() {
	document.oncontextmenu = function() {
		return false;
	};// 屏蔽右键
	getPPTPostion();

	answerRight = new Array();
	pptRT = new Array();
	key_answer=new Array();

	var url = window.location.href;

	examId = parseInt(url.split("=")[1]);
	getExamInfo(examId);
	cellNo = parseInt($("#cellNo").val());
	mouseAction = new Array();
	inputAction = new Array();
	pptContaint = new Array();
	
	//预先下载数据
	prepareData();
	// 还没做题前 先初始化第一张
	getCell(0);
	
});

/**
 * 得到当前PPT的坐标<>
 */
function getPPTPostion() {
	var off = $(".c-content").offset();

	ppt_leftup_x = off.left;
	ppt_leftup_y = off.top;

	var h = $(".c-content").height();
	var w = $(".c-content").width();

	ppt_rightdown_x = ppt_leftup_x + w;
	ppt_rightdown_y = ppt_leftup_y + h;

}

/**
 * 得到该项目的总体信息 exam
 * 
 * @param id
 */
function getExamInfo(id) {
	$.ajax({
		url : "../ppt/getExamInfo.html",
		data : "examId=" + id,
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded;charset=utf-8",
		success : function(result) {
			if (result != null) {
				exam = result;
				active = exam.active;
				repeatFrom = exam.repeatFrom;
				repeatTo = exam.repeatTo;
				playMode = exam.playMode.toString();
				repeatTime = exam.repeatTime;
			} else {
				exam = null;
				alert("获取失败 请先登入");
			}
		},
		error : function() {
			exam = null;
			alert("连接服务器出错 或者  请重新登入");
		}
	});

}

/**
 * 开始答卷
 */
$(".join-begin").click(function(e) {
	currentPage = 0;
	
	isStart = true;
	// 是否有时间限制
	pptTimeRemain();

	// 页面上的跳转开启 当前页在重复播放的范围内
	repeatFinish = !active;
	if (active == true && repeatFrom <= currentPage
			&& currentPage <= repeatTo) {
		// 根据页面上跳转的设置进行播放测试
		currentPage = playByWebJump();
		show(pptContaint[currentPage]);
	} else {
		show(pptContaint[0]);
	}

	$(this).attr("disabled", true);
	$(".c-content").attr("disabled", false);
	$(".next-ppt").attr("disabled", false);
	$(".join-cancel").attr("disabled", false);

	// 从页面上得到原制作者当时PPT窗口的坐标
	orig_ppt_left = parseInt($("#ppt-info").attr("ppt-left"));
	orig_ppt_top = parseInt($("#ppt-info").attr("ppt-top"));

	// 改变按钮颜色
	$(this).css({
		"background-image" : "url('../images/background/purple_push.png')",
		"border" : "1px solid #9506E6"
	});
	// 隐藏当前按钮
	$(this).hide();

	// 显示重做按钮
	$(".join-restart").show();

});

/**
 * 重新开始做题
 */
$(".join-restart").click(
		function() {
			currentPage = 0;
			doneTime=0;
			
			mouseAction = new Array();
			inputAction = new Array();
			answerRight = new Array();
			pptRT = new Array();
			pptpageA=new Array();
			
			isStart = true;

			// 是否有时间限制
			pptTimeRemain();

			// 页面上的跳转开启 当前页在重复播放的范围内
			repeatFinish = !active;
			if (active == true && repeatFrom <= currentPage
					&& currentPage <= repeatTo) {
				// 根据页面上跳转的设置进行播放测试
				currentPage = playByWebJump();
				show(pptContaint[currentPage]);
			} else {
				show(pptContaint[0]);
			}

			$(".c-content").attr("disabled", false);
			$(".next-ppt").attr("disabled", false);
			$(".join-cancel").attr("disabled", false);

			// 从页面上得到原制作者当时PPT窗口的坐标
			orig_ppt_left = parseInt($("#ppt-info").attr("ppt-left"));
			orig_ppt_top = parseInt($("#ppt-info").attr("ppt-top"));
		});

/**
 * 做题前先准备下载数据并提醒
 */
function prepareData() {
	// 弹出数据加载中的提示
	show("<center>数据下载中..... 请耐心等待</center> ");
	$.ajax({
		url : "../ppt/getPPT.html",
		data : "examId=" + examId,
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded;charset=utf-8",
		success : function(result) {
			if (result != null && result != undefined) {
				for ( var i = 0; i < result.length; i++) {
					pptContaint[i] = result[i].htmlContent;
					getImageSrc(pptContaint[i]);
					getVideoRadioSrc(pptContaint[i]);
				}
			} else {
				show("下载数据出错");
			}
		},
		error : function() {
			alert("连接服务器出错 或者  请重新登入");
		}
	});
}

/**
 * 获取ppt
 * 
 * @param no
 */
function getCell(no) {
	// 第一张显示介绍
	if(pptContaint[no]!=undefined && no==0){
		show(pptContaint[no]);
		return;
	}
	
	$.ajax({
		url : "../ppt/getone.html",
		data : "examId=" + examId + "&number=" + no,
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded;charset=utf-8",
		success : function(result) {
			if (result != null) {
				// 缓存
				pptContaint[no] = result.htmlContent;
				// 第一张显示介绍
				if (no == 0) {
					show(result.htmlContent);
				}

			} else {
				alert("获取失败");
			}
		},
		error : function() {
			alert("连接服务器出错 或者  请重新登入");
		}
	});
}

/**
 * 将s到e里的数随机打乱生成<br>
 * 1,2,3,4,5,6<br>
 * 3,5,1,6,2,4<br>
 * 返回打乱后的数组
 * 
 * @param s：s
 *            <e 开始
 * @param e
 *            结束 [s,e]
 */
function disorderNumber(s, e) {
	// 返回空
	if (s > e) {
		return new Array();
	} else if (s == e) {
		return new Array().push(s);
	} else {
		var newResult = new Array();
		var length = e - s + 1;
		while (newResult.length != length) {
			var m = s + parseInt(length * Math.random());
			if (!newResult.contains(m)) {
				newResult.push(m);
			}
		}
		return newResult;
	}

}

/**
 * 过滤后显示
 * 
 * @param htmlContent
 */
function show(htmlContent) {
	$(".c-content").html(htmlContent);

	var divs = $(".c-content div");
	isloadcomplete = false;
	DOMComplete = 0;
	// 获取图片数
	DOMnumber = $(".c-content div>.imageContent").length;
	if (DOMnumber == 0) {
		isloadcomplete = true;
		timestart = new Date().getTime();
		key_st = mouse_st = timestart;
	}
	// 当前PPT坐标
	var offset = $(".c-content").offset();
	var joinLeft = offset.left;
	var joinTop = offset.top;

	for ( var i = 0; i < divs.length; i++) {
		var id = divs[i].id;
		// 隐藏标题
		if (id.indexOf("title") != -1) {
			$("#" + id).hide();
		} else {
			var left = parseInt($("#" + id).css("left").split("p")[0]);
			var top = parseInt($("#" + id).css("top").split("p")[0]);
			// 扣除相对PPT的偏移
			$("#" + id).css("left", left - orig_ppt_left + joinLeft);
			$("#" + id).css("top", top - orig_ppt_top + joinTop);
		}

		// 图片处理
		if (id.indexOf("image") != -1 && id.indexOf("title") == -1) {
			var img = $("#" + id + ">.imageContent");
			var src = img.attr("src");
			img.attr("src", "");// 先清空
			// 先绑定事件，再传值src 这样load才有效果
			img.load(function() {
				DOMComplete++;
				if (DOMComplete == DOMnumber) {
					isloadcomplete = true;
					// 加载完毕后
					timestart = new Date().getTime();
					key_st = mouse_st = timestart;
				}
			});
			img.attr("src", src);
		}
	}
	$(".c-content textarea").attr("readonly", true);
	$(".c-content textarea").attr("onkeyup", false);

	// 开始做题
	if (isStart == true) {
		bindShowtime();
		analyseProperty();
	}
	// 显示当前第几页
	$("#current-page").html("" + (currentPage + 1));
	
	//如果需要手动输入;显示输入框
	if(showinput == "yes"){
		$("#input-key-after").hide();
		$("#showinputdiv").html(
				"<label><img src='../images/icon/icon02.png' class='v-middle'/>当前输入：</label>");
		$("#input-key").show();
		$("#input-key").val("");
		$("#input-key-submit").show();
		$("#input-key-resubmit").hide();
	}
}

/**
 * 开始做题后 读取该张PPT的属性<br>
 * 并绑定相应事件
 */
function analyseProperty() {
	// 得到该张PPT的info信息
	var infos = $("#ppt-info");
	if (infos != undefined) {
		// 背景颜色
		var bg = infos.attr("bg");
		if(bg==undefined){
			bg="FFFFFF";
		}
		$(".c-content").css("background-color", "#" + bg);

		// 答案分析
		has_answer = infos.attr("has-answer");
		right_condition = infos.attr("right-condition");
		// 手动输入 显示输入框
		if (right_condition == "key") {
			$("#key-input-div").show();
		} else {
			$("#key-input-div").hide();
		}

		// 该张ppt的显示时间
		var ppt_showtime = infos.attr("ppt-showtime");
		if (ppt_showtime != undefined && ppt_showtime != "0") {
			thisPPTShowtime(parseInt(ppt_showtime));
		}

		// 触发下一张 直接绑定“enter”
		// var end_condition = infos.attr("end-condition");

		// 当正解 误解 跳转（页面上的跳转优先）
		when_condition = infos.attr("when-condition");
		wrong_jump_to = infos.attr("wrong-jump-to");
		right_jump_to = infos.attr("right-jump-to");

		// 记录
		record = infos.attr("record");
		// 显示输入 相应的区域显示
		showinput = infos.attr("showinput");
		// 记录用户从页面加载到点击的时间
		reaction_time = infos.attr("reaction-time");
	}
}

/**
 * 下一张
 */
$(".next-ppt").click(function() {
	// 用户没有做 直接跳过 保存答案
	if (answerRight[currentPage] == undefined && currentPage <= cellNo - 1) {
		if (has_answer == "yes") {
			answerRight[currentPage] = "0";
		} else {
			answerRight[currentPage] = "-1";
		}
	}

	//下一张循环的范围大于起始的循环起点
	var nextPage = currentPage+1;
	if (active == true && !repeatFinish && repeatFrom <= nextPage) {
		if (doneTime < repeatTime) {
			currentPage = playByWebJump();
		}
		// 最后一次，还未循环完
		else if (doneTime == repeatTime && pptpageA.length > 0) {
			currentPage = playByWebJump();
		}
		// 页面上的循环已经完成了,应该跳转到repeatTo
		else {
			repeatFinish = true;
			currentPage = repeatTo + 1;
		}
	} else {
		// 得到的下一张
		currentPage++;
	}

	//清除上一张的时间限定
	if(showtimeTicket!=undefined){
		clearTimeout(showtimeTicket);
		showtimeTicket=undefined;
	}
	
	if (currentPage + 1 > cellNo) {
		alert("测试完毕，请提交");
		$(".next-ppt").attr("disabled", true);
		$(".join-submit").attr("disabled", false);
		return;
	}

	// 先去缓存取
	if (pptContaint[currentPage] == undefined) {
		getCell(currentPage);
	} else {
		show(pptContaint[currentPage]);
	}
});

/**
 * 上一张
 */
$(".prev-ppt").click(function() {
	if (active == true) {
		if (doneTime < repeatTime) {
			currentPage = playByWebJump();
		}
		// 最后一次，还未循环完
		else if (doneTime == repeatTime && pptpageA.length > 0) {
			currentPage = playByWebJump();
		}
	} else {
		// 得到的下一张
		currentPage--;
	}

	if (currentPage < 0) {
		alert("已经是第一张了");
		return;
	}

	// 先去缓存取
	if (pptContaint[currentPage] == undefined) {
		getCell(currentPage);
	} else {
		show(pptContaint[currentPage]);
	}
});

/**
 * 绑定PPT里内容的延迟显示事件
 */
function bindShowtime() {
	var divs = $(".c-content div");

	for ( var i = 0; i < divs.length; i++) {

		var id = divs[i].id;

		if (typeof ($("#" + id).attr("showtime")) != "undefined") {
			var time = parseInt($("#" + id).attr("showtime"));
			if (time > 0) {
				// 这样子才有延时的效果
				setTimeout("hideAfter('" + id + "')", time);
			}
		}
	}
}

/**
 * 一定时间后隐藏框体
 */
function hideAfter(id) {
	$("#" + id).hide();
}

/**
 * 返回
 */
$(".join-cancel").click(function() {
	if(window.confirm("确认返回?")){
		location.href="../user/home.html";
	}
});

/**
 * 该张PPT设定的显示时间<br>
 * 遇到用户触发下一张时，解除该绑定
 */
function thisPPTShowtime(ms) {
	showtimeTicket = setTimeout(function() {
		// 用户是否来不及做
		if (answerRight[currentPage] == undefined) {
			if (has_answer == "yes") {
				answerRight[currentPage] = "0";
			} else {
				answerRight[currentPage] = "-1";
			}
		}
		$(".next-ppt").trigger("click");
	}, ms);
}

/**
 * 开始做题后，监听键盘输入<br>
 * 再根据用户的设定 正解或者误解跳转到相应的页面<br>
 * enter:13<br>
 * space:32<br>
 * a:65<br>
 * z:90
 */
$(document).keyup(
		function(e) {
			var kc = e.keyCode;
			// 已开始答题 并且DOM元素加载完毕
			if (isStart && isloadcomplete) {
				// var isAnswerRight = false;
				// if (has_answer == "yes") {
				//
				// }
				// // 本页没有标准答案
				// else {
				// answerRight[currentPage] = "-1";
				// }

				// 展示用户的输入
				if (showinput == "yes" && keyCode[kc] != undefined) {
					var char = keyCode[kc];
					$("#showinputdiv").html(
							"<label><img src='../images/icon/icon02.png' class='v-middle'/>当前输入：</label>"
									+ char);
					$("#showinputdiv").show();
				}
				// 隐藏
				else {
					$("#showinputdiv").hide();
				}

			}

		});

/**
 * 记录反应时间（第一次和所有的）
 */
$(document).keydown(
		function(e) {
			var kc = e.keyCode;
			// timestart 加载完毕时初始化
			if (isStart && isloadcomplete) {
				// 记录时间且是第一次记录
				if (reaction_time == "1st" && pptRT[currentPage] == undefined) {
					timeend = new Date().getTime();
					pptRT[currentPage] = "" + (timeend - timestart);
				}
				// 记录该页上所有的反应时间
				else if (reaction_time == "All") {
					if (pptRT[currentPage] == undefined) {
						timeend = new Date().getTime();
						pptRT[currentPage] = "" + (timeend - timestart);
						timestart = timeend;// 下一次反应初始化
					} else {
						timeend = new Date().getTime();
						pptRT[currentPage] += "-" + (timeend - timestart);
						timestart = timeend;// 下一次反应初始化
					}
				} else {
					pptRT[currentPage] = "0";
				}

				// 记录用户的按键信息
				// 记录鼠标信息
				if ((record == "keyboard" || record == "both")
						&& keyCode[kc] != undefined) {
					key_et = new Date().getTime();
					var len = key_et - key_st;

					var char = keyCode[kc];
					if (inputAction[currentPage] == undefined) {
						inputAction[currentPage] = char + "-" + len;
					} else {
						inputAction[currentPage] += "," + char + "-" + len;
					}
					key_st = key_et;
				}

				// 下一张:enter
				// if(kc==13){
				// if(showtimeTicket!=undefined){
				// clearInterval(showtimeTicket);
				// }
				// $(".next-ppt").trigger("click");
				// }
			}
		});

/**
 * 开始做题后，监听鼠标输入<br>
 * 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键<br>
 * 再根据用户的设定 正解或者误解跳转到相应的页面
 */
$(".c-content")
		.click()
		.mouseup(
				function(e) {
					var kc = e.which;
					if (isStart && isloadcomplete) {
						var isAnswerRight = false;
						if (has_answer == "yes") {
							// 左击
							if (right_condition == "left-mouse") {
								if (kc == 1) {
									isAnswerRight = true;
									answerRight[currentPage] = "1";
								} else {
									isAnswerRight = false;
									answerRight[currentPage] = "0";
								}

								// 页面上的跳转未启动
								if (active == false) {
									// 正确或者错误时跳转
									if (when_condition != "none"
											&& isAnswerRight == false) {
										if (wrong_jump_to != "none"
												&& !isNaN(wrong_jump_to)) {
											currentPage = parseInt(wrong_jump_to) - 1;
											// $(".next-ppt").trigger("click");
										}

									} else if (when_condition != "none"
											&& isAnswerRight == true) {
										if (right_jump_to != "none"
												&& !isNaN(right_jump_to)) {
											currentPage = parseInt(right_jump_to) - 1;
											// $(".next-ppt").trigger("click");
										}
									}
								}
							}
							// 右击
							else if (right_condition == "right-mouse") {
								if (kc == 3) {
									isAnswerRight = true;
									answerRight[currentPage] = "1";
								} else {
									isAnswerRight = false;
									answerRight[currentPage] = "0";
								}
								// 正确或者错误时跳转
								if (when_condition != "none"
										&& isAnswerRight == false) {
									if (wrong_jump_to != "none"
											&& !isNaN(wrong_jump_to)) {
										currentPage = parseInt(wrong_jump_to) - 1;
										// $(".next-ppt").trigger("click");
									}

								} else if (when_condition != "none"
										&& isAnswerRight == true) {
									if (right_jump_to != "none"
											&& !isNaN(right_jump_to)) {
										currentPage = parseInt(right_jump_to) - 1;
										// $(".next-ppt").trigger("click");
									}
								}
							}
							else {
								answerRight[currentPage] = "0";
								if (when_condition != "none"
										&& wrong_jump_to != "none"
										&& !isNaN(wrong_jump_to)) {
									currentPage = parseInt(wrong_jump_to) - 1;
									$(".next-ppt").trigger("click");
								}
							}

						}
						// 本页没有标准答案
						else {
							answerRight[currentPage] = "-1";
						}
					}
				});

/**
 * 记录反应时间（第一次）
 */
$(".c-content").click().mousedown(
		function(e) {
			var type = e.which;
			// timestart 加载完毕时初始化
			if (isStart && isloadcomplete) {
				// 记录时间
				if (reaction_time == "1st" && pptRT[currentPage] == undefined) {
					timeend = new Date().getTime();
					pptRT[currentPage] = timeend - timestart;
				} else if (reaction_time == "none") {
					pptRT[currentPage] = 0;
				}

				// 记录时间且是第一次记录
				if (reaction_time == "1st" && pptRT[currentPage] == undefined) {
					timeend = new Date().getTime();
					pptRT[currentPage] = "" + (timeend - timestart);
				}
				// 记录该页上所有的反应时间
				else if (reaction_time == "All") {
					if (pptRT[currentPage] == undefined) {
						timeend = new Date().getTime();
						pptRT[currentPage] = "" + (timeend - timestart);
						timestart = timeend;// 下一次反应初始化
					} else {
						timeend = new Date().getTime();
						pptRT[currentPage] += "-" + (timeend - timestart);
						timestart = timeend;// 下一次反应初始化
					}
				} else {
					pptRT[currentPage] = "0";
				}

				// 记录鼠标信息
				if (record == "mouse" || record == "both") {
					mouse_et = new Date().getTime();
					var len = mouse_et - mouse_st;
					var pos = getMousePosition(e);
					mouse_x = pos.x - ppt_leftup_x;// 扣除相对PPT左上角的偏移
					mouse_y = pos.y - ppt_leftup_y;

					if (mouseAction[currentPage] == undefined) {
						mouseAction[currentPage] = mouse_x + "-" + mouse_y
								+ "-" + len + "-" + type;
					} else {
						mouseAction[currentPage] += "," + mouse_x + "-"
								+ mouse_y + "-" + len + "-" + type;
					}
					mouse_st = mouse_et;

				}
			}
		});

/**
 * 根据页面上跳转的设置进行播放测试<br>
 * 返回要跳转的currentPage
 */
function playByWebJump() {

	// 已被取空，在条件内再生成一组(相等的时候说明已完成)
	if (pptpageA.length == 0 && doneTime < repeatTime) {
		// 顺序播放
		if (playMode == "order") {
			for ( var i = repeatFrom; i <= repeatTo; i++) {
				pptpageA.push(i);
			}
		}
		// 随机播放
		else if (playMode == "random") {
			pptpageA = disorderNumber(repeatFrom, repeatTo);
		}
		// 已经生成了一次
		doneTime++;
	}

	var result = pptpageA[0];
	pptpageA.removeByIndex(0);

	return result;
}

/**
 * 提交<br>
 * 前提：测试结束
 */
$(".join-submit").click(function() {
	isStart = false;

	// 用户提交数据不完整
	for ( var i = 0; i < cellNo; i++) {
		if (answerRight[i] == undefined) {
			answerRight[i] = "-1";
		}
		if (mouseAction[i] == undefined) {
			mouseAction[i] = "";
		}
		if (inputAction[i] == undefined) {
			inputAction[i] = "";
		}
		if (pptRT[i] == undefined) {
			pptRT[i] = "0";
		}
	}

	var title = $("#ppt-title").text();

	var postdata = {
		examId : examId,
		cellNo : cellNo,
		title : title,
		"answerRight[]" : answerRight,
		"mouseAction[]" : mouseAction,
		"inputAction[]" : inputAction,
		"rt[]" : pptRT,
	};

	$.ajax({
		url : "../answer/submit.html",
		data : postdata,
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded;charset=utf-8",
		success : function(result) {
			if (result > 0) {
				alert("提交成功");
				window.location.href = "../user/home.html";
			} else {
				alert("提交失败");
			}
		},
		error : function() {
			alert("连接服务器出错");
		}
	});
});

/**
 * 监听F5 关闭按键
 */
function myClose() {

}

function getMousePosition(e) {
	var posx = 0;
	var posy = 0;

	if (!e)
		var e = window.event;

	if (e.pageX || e.pageY) {
		posx = e.pageX;
		posy = e.pageY;
	} else if (e.clientX || e.clientY) {
		posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
	}
	return {
		'x' : posx,
		'y' : posy
	};
};

/**
 * 获得鼠标坐标
 */
$(document).mousemove(
		function(e) {
			// 需要记录鼠标
			if (isStart && isloadcomplete && record == "mouse") {
				mouse_et = new Date().getTime();
				var len = mouse_et - mouse_st;
				if (len > 1000) {
					var pos = getMousePosition(e);
					mouse_x = pos.x - ppt_leftup_x;// 扣除相对PPT左上角的偏移
					mouse_y = pos.y - ppt_leftup_y;

					if (mouseAction[currentPage] == undefined) {
						mouseAction[currentPage] = mouse_x + "-" + mouse_y
								+ "-" + len + "-0";
					} else {
						mouseAction[currentPage] += "," + mouse_x + "-"
								+ mouse_y + "-" + len + "-0";
					}
					//console.log(mouse_x + "-" + mouse_y + "-" + len + "-0");
					mouse_st = mouse_et;
				}
			}
		});

/**
 * 该项目有时间限制，进入合计时
 */
var usedTimer;
function pptTimeRemain() {
	var timer = exam.timer;
	var h = timer.h;
	var m = timer.m;
	var s = timer.s;

	// 开项目无时间限制
	if (h == 0 && m == 0 && s == 0) {
		return;
	}
	// 秒
	var allSecond = s + m * 60 + h * 3600;
	var second = 0;
	if (usedTimer != undefined) {
		clearInterval(usedTimer);
	}
	usedTimer = setInterval(function() {
		second++;
		if (allSecond < second) {
			clearInterval(usedTimer);
			alert("时间已到,强制提交");
			$(".join-submit").attr("disabled", false);
			$(".join-submit").trigger("click");
		} else {
			var uh = parseInt(second / 3600);
			var um = parseInt((second % 3600) / 60);
			var us = second % 60;

			$("#time-remain").html(
					"<label><img src='../images/icon/icon02.png' class='v-middle'/>已用时间：</label>"
							+ uh + " 小时 " + um + " 分 <font color='green'>" + us
							+ "</font> 秒");
		}

	}, 1000);
}

/**
 * 在是"手动输入"的模式下<br>
 * 得到用户答案 并判断是否正确<br>
 * 不区分大小写
 */
$("#input-key-submit").click(function() {
	var val = $("#input-key").val();
	var key = $("#ppt-info").attr("ppt-key-right");//标准答案
	if (key.trim().toLowerCase() == val.trim().toLowerCase()) {
		answerRight[currentPage] = "1";
	} else {
		answerRight[currentPage] = "0";
	}
	$("#input-key-after").text(val.trim());

	$("#input-key-after").show();
	$("#input-key").hide();
	$(this).hide();
	$("#input-key-resubmit").show();
	
	//储存
	key_answer[currentPage]=val;
});

/**
 * 用户重新提交
 */
$("#input-key-resubmit").click(function() {
	$("#input-key").show();
	$("#input-key-submit").show();
	$("#input-key-after").hide();
	$(this).hide();
});


/**
 * 从html str中提取出Img 的src
 * @param str
 */
function getImageSrc(str){

	var reg = /\<img.+?\>/gi;
	var matches = str.match(reg);
	
	//<img ... >
	if(matches!=null && matches!=undefined){
		//提取img中的src
		for(var i=0;i<matches.length;++i){
			var reg2 = /src=.+?['"]/gi;
			var ms = matches[i].match(reg2);
			
			//存在着src
			if(ms!=null && ms!=undefined){
				for(var j=0;j<ms.length;++j){
					var src = ms[j].substring(ms[j].indexOf("=")+2,ms[j].length-1);
					
					//实现预加载
					var img = new Image();
					img.src = src;
				}
			}
		}
	}
}

/**
 * 得到视频和音频src<br>
 * @param str
 */
//以免重复下载
var videRadioSrcArr=new Array();
function getVideoRadioSrc(str){
	
	//支持html5 ,利用html5实现视频预加载
	if(typeof(Worker)!=undefined){
		
		$("#radioVideoPreload").html("");
		var reg =/\<embed.+?\>/gi;
		var matches = str.match(reg);
		
		if(matches!=null && matches!=undefined){
			for(var i=0;i<matches.length;++i){
				var reg2=/src=.+?['"]/gi;
				var ms = matches[i].match(reg2);
				//存在着src
				if(ms!=null && ms!=undefined){
					for(var j=0;j<ms.length;++j){
						var src = ms[j].substring(ms[j].indexOf("=")+2,ms[j].length-1);
						
						
						if(videRadioSrcArr.contains(src)){
							continue;
						}
						//html5只音频只支持Ogg Vorbis，MP3，Wav
						// 视频 MPEG 4,Ogg,WebM
						var index = src.lastIndexOf(".");
						var suffix = src.substring(index+1,src.length).toLowerCase();
						//mp3
						var html="";
						if(suffix=="mp3"){
							html ="<audio src='"+src+"' preload='true'></audio>";
							$("#radioVideoPreload").append(html);
							videRadioSrcArr.push(src);
						}
						else if(suffix=="wav"){
							html ="<video src='"+src+"' preload='true'></video>";
							$("#radioVideoPreload").append(html);
							videRadioSrcArr.push(src);
						}
						else if(suffix=="ogg"){
							html ="<video src='"+src+"' preload='true'></video>";
							$("#radioVideoPreload").append(html);
							videRadioSrcArr.push(src);
						}
						else if(suffix=="mp4"){
							html ="<video src='"+src+"' preload='true'></video>";
							$("#radioVideoPreload").append(html);
							videRadioSrcArr.push(src);
						}
					}
				}
			}
		}
	}
}

